//#include "fast.hpp"
//#include <opencv2/opencv.hpp>
//#include "draw.h"
//#include "Frame.hpp"
//#include "Image_Alignment.hpp"
//#include <Eigen/Dense>
//#include <opencv2/opencv.hpp>
//#include "Convert.hpp"
//using namespace cv;
//
//int main(int argc,char**argv)
//{
//    
//    Config::grid_cols = 4;
//    Config::grid_rows = 3;
//    Config::fastThreshold = 30;
//    
//    Mat img;
//    img = imread("/Users/fg/cycle/0.jpg");
//    
//    Mat grey;
//    cvtColor(img, grey, CV_BGR2GRAY);
//    Mat blur;
//    cv::GaussianBlur(grey, blur, Size(5,5), 1);
//    Frame frame(blur);
//    Mat img_r = imread("/Users/fg/cycle/0.jpg");
//    Mat grey_r;
//    Mat blur_r;
//    cvtColor(img_r, grey_r, CV_BGR2GRAY);
//    
//    cv::GaussianBlur(grey_r, blur_r, Size(5,5), 1);
//    imshow("blur", blur_r);
//    // cvWaitKey(0);
//    
//    Eigen::Matrix<float,6,1> p;
//    p.setZero();
//    vector<Eigen::Vector2f> left,right;
//    vector<cv::Point2f> v_pleft,v_pright;
//    right.resize(frame.fts_.size());
//    for(int i=0;i<frame.fts_.size();++i)
//    {
//        p.setZero();
//        left.push_back(frame.fts_[i]._pos);
//        v_pleft.push_back(Converter::Eigen2CV(frame.fts_[i]._pos));
//        align2D_Affine(frame.fts_[i]._pos,frame.fts_[i].patch_with_border_,p,blur_r,Config::patchSize,right[i],true );
//        v_pright.push_back(Converter::Eigen2CV(right[i]));
//    }
//    cv::Mat mask;
//    cv::Mat H = findHomography(v_pleft, v_pright, mask,CV_RANSAC,2);
//    cout<<H<<endl;
//    cout<<"All KeyPoints:"<<v_pleft.size()<<"  "<<"Inlines:"<<norm(mask,NORM_L1)<<endl;
//    Mat out;
//    drawMatches(grey,grey_r,left,right,out);
//    imshow("aa", out);
//    cvWaitKey(0);
//    
//    
//    //  vector<Point2f> xys;
//    //  for (int i=0; i<frame.fts_.size(); ++i)
//    //  {
//    //    xys.push_back(Point2f(frame.fts_[i]._pos.x(),frame.fts_[i]._pos.y()));
//    //  }
//    //
//    //  Mat out;
//    //  drawPoints(img, xys, out);
//    //  imshow("aa", out);
//    //  cvWaitKey(0);
//    return 0;
//    
//}